In PHP, les termes « `include_path` » et « `require_path` » ne correspondent pas à des fonctionnalités distinctes ou des directives de configuration officielles dans le langage PHP. Cependant, les termes peuvent prêter à confusion car ils sont souvent mal interprétés ou utilisés de manière interchangeable pour désigner des aspects différents de l’inclusion de fichiers en PHP. Clarifions les concepts significatifs : `include` vs `require` et la directive `include_path`.
`include` et `require` en PHP:
Les fonctions `include` et `require` sont utilisées pour inclure et évaluer des fichiers PHP. La principale différence entre les deux réside dans la façon dont chacune gère les erreurs lors de l’inclusion de fichiers.
1. `include` : Lorsqu’un fichier est inclus à l’aide de `include`, si le fichier n’est pas trouvé, un avertissement (warning) est généré, mais le script continue à s’exécuter. \`\`\`php include ‘fichier\_inexistant.php’; echo “Cette ligne sera toujours exécutée même si le fichier n’est pas trouvé.”; \`\`\`
1. `require` : Lorsqu’un fichier est inclus à l’aide de `require`, si le fichier n’est pas trouvé, une erreur fatale (fatal error) est générée, et le script s’arrête immédiatement. \`\`\`php require ‘fichier\_inexistant.php’; echo “Cette ligne ne sera pas exécutée si le fichier n’est pas trouvé.”; \`\`\`
Exemples de cas d’utilisation:
- `include` est généralement utilisé lorsqu’un fichier n’est pas vital pour le reste du script. Par exemple, l’inclusion d’un fichier qui affiche un pied de page.
- `require` est utilisé lorsque le fichier est crucial pour le script. Par exemple, l’inclusion d’un fichier de configuration dont dépend l’exécution du script.
`include_path` :
La directive `include_path` dans le fichier de configuration php.ini spécifie la liste des répertoires où PHP va chercher en premier lieu les fichiers à inclure (pour les fonctions `include` et `require`). Cela permet de centraliser le stockage des scripts et de réduire les chemins relatifs dans le code.
Configuration de l’include\_path:
```
Modification de l’include\_path dans le script PHP :
Vous pouvez également modifier dynamiquement `include_path` dans un script utilisant `set_include_path` ou les constantes `PATH_SEPARATOR` et `DIRECTORY_SEPARATOR`.
```
// Ajout d’un répertoire au include_path existant
set_include_path(get_include_path() . PATH_SEPARATOR . ‘/chemin/vers/dossier’);
// Utilisation de l’include_path défini
include ‘mon_script_dans_include_path.php’;
```
Exemples de l’utilisation de l’include\_path:
- Centralisation des bibliothèques: Placing all custom libraries in a specific directory and adding it to the `include_path` allows all scripts to easily include these libraries.
- Simplification des chemins: If you have a shared hosting environment with multiple applications, having an `include_path` allows each application to reference shared configuration files without redundant code.
Sources Utilisées:
1. [PHP: include – Manual](https://www.php.net/manual/en/function.include.php)
2. [PHP: require – Manual](https://www.php.net/manual/en/function.require.php)
3. [PHP: include\_path – Manual](https://www.php.net/manual/en/ini.core.php#ini.include-path)
En résumé, `include` et `require` sont des fonctions pour inclure des fichiers avec des comportements différents en cas d’erreur, tandis que `include_path` est une directive de configuration influençant l’emplacement de recherche des fichiers à inclure.